﻿/* ************************************************************
 * Namespace: JumpFleetGameLib.xCamera
 * Interface:  IMoveableMap
 * Author:  Roy Penrod
 * 
 * IMoveableMap is an interface to define a moveable map
 * for use with the Camera2D class.  
 *  
 * ************************************************************ */

using System;
using Microsoft.Xna.Framework;

namespace JumpFleetGameLib.xCamera
{
    public interface IMoveableMap
    {
        #region  PROPERTIES

        /// <summary>
        /// Current position of the moveable map.  Type: Vector2
        /// </summary>
        //Vector2 CurrentPosition { get; set; }

        /// <summary>
        /// Returns a rectangle containing the moveable map's bounding box.  Type: Rectangle
        /// </summary>
        Rectangle BoundingBox { get; }

        #endregion


        #region METHODS

        /// <summary>
        /// Moves the moveable map the number of pixels passed to it. 
        /// </summary>
        /// <param name="movementDistance">The distance to move the moveable map in pixels.  Type: Vector2</param>
        void Move(Vector2 movementDistance);

        #endregion
    }
}
